Software Module Clustering: An In-Depth Literature Analysis

نویسندگان

چکیده

Software module clustering is an unsupervised learning method used to cluster software entities (e.g., classes, modules, or files) with similar features. The obtained clusters may be study, analyze, and understand the entities’ structure behavior. Implementing optimal results challenging. Accordingly, researchers have addressed many aspects of in past decade. Thus, it essential present research evidence that has been published this area. In 143 papers from well-known literature databases examined were reviewed extract useful data. data then answer several questions regarding state-of-the-art approaches, applications engineering, processes, algorithms, evaluation methods. Several gaps challenges are discussed paper provide a reference for field.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A multi-agent evolutionary algorithm for software module clustering problems

The aim of software module clustering problems (SMCPs) is to automatically find a good quality clustering of software modules based on relationships among modules. In this paper, we propose a multi-agent evolutionary algorithm to solve this problem, labeled as MAEA-SMCPs. With the intrinsic properties of SMCPs in mind, three evolutionary operators are designed for agents to realize the purpose ...

متن کامل

Software Module Clustering using a Fast Multi-objective

Software evolution is a natural phenomenon in the software development life cycle. As the software evolves, the modular structure of software degrades, and at one point it becomes a challenging task to maintain the software further. Software module clustering is an important activity during software maintenance whose main goal is to obtain good modular structures. Software engineers greatly emp...

متن کامل

Evaluating Modularization Quality as an Extra Objective in Multiobjective Software Module Clustering

The application of multiobjective optimization to address Software Engineering problems is a growing trend. Multiobjective algorithms provide a balance between the ability of the computer to search a large solution space for valuable solutions and the capacity of the human decision-maker to select an alternative when two or more incomparable objectives are presented. However, when more than a s...

متن کامل

A Multiple Hill Climbing Approach to Software Module Clustering

Automated software module clustering is important for maintenance of legacy systems written in a ‘monolithic format’ with inadequate module boundaries. Even where systems were originally designed with suitable module boundaries, structure tends to degrade as the system evolves, making re-modularization worthwhile. This paper focuses upon search-based approaches to the automated module clusterin...

متن کامل

Software Rejuvenation: Analysis, Module and Applications

Software rejuvenation is the concept of gracefully terminating an application and immediately restarting it at a clean internal state In a client server type of application where the server is intended to run per petually for providing a service to its clients rejuve nating the server process periodically during the most idle time of the server increases the availability of that service In a lo...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: IEEE Transactions on Software Engineering

سال: 2022

ISSN: ['0098-5589', '1939-3520', '2326-3881']

DOI: https://doi.org/10.1109/tse.2020.3042553